package com.ruoyi.project.hcy.task.service;

import com.ruoyi.project.hcy.administrations.domain.Branch;
import com.ruoyi.project.hcy.administrations.domain.Crew;
import com.ruoyi.project.hcy.task.domain.Task;

import java.util.List;

/**
 * 任务信息 服务层
 */
public interface ITaskService {

    /**
     * 根据条件查询任务信息集合
     *
     * @param task 任务信息查询条件
     * @return
     */
    List<Task> selectTaskList(Task task);

    /**
     * 校验任务标题
     *
     * @param task 任务信息
     * @return 结果
     */
    String checkTaskTitleUnique(Task task);

    /**
     * 新增保存任务信息
     *
     * @param task 任务信息
     * @return 结果
     */
    int insertTask(Task task, Long executorId, String taskStartTime, String taskEndTime);

    /**
     * 根据部门拿到员工列表
     *
     * @return
     */
    List<Crew> selectCrews(String deptName);

    /**
     * 拿到部门列表
     *
     * @return
     */
    List<Branch> selectBranchs();

    /**
     * 删除任务
     *
     * @param ids
     * @return
     */
    int deleteTaskByIds(String ids);

    /**
     * 根据ID查询任务
     *
     * @param taskId
     * @return
     */
    Task selectTaskById(Long taskId);

    /**
     * 修改任务
     *
     * @param task
     * @return
     */
    int updateTask(Task task, Long executorId);

    int taskSubmit(Task task);

    List<Task> selectTaskList2(Task task);
}
